package br.edu.unirn.dao;

import java.util.List;

import javax.persistence.EntityManager;

public interface IGenericDAO<T extends PersistDB> {

	abstract EntityManager getEm();

	abstract void close();

	abstract void create(T c);

	abstract void update(T c);

	abstract void delete(T c);

	abstract T findByPrimaryKey(Long id);

	abstract List<T> findAll();

	abstract List<T> findAllLike(String coluna, String valor);

	abstract Class<T> getClassType();

	T castGeneric(PersistDB obj);

}